Computer designers are constantly searching for faster and more reliable techniques for storing and retrieving data from hard disk drives (“HDDs”). Designers are particularly concerned with reducing HDD latencies and reducing data loss resulting from HDD faults.
In attempting to reduce latencies associated with reading and writing data to HDDs, designers often focus on improving operating system (“OS”) disk schedulers. Disk scheduling algorithms often increase HDD performance by minimizing mechanical movements of the HDD. For example, for each HDD write request in a disk scheduling queue, a disk scheduler may determine how far a HDD's read/write head will move to service the request. The disk scheduler may then service the requests in order of those requiring the least read/write head movement. Although this and other disk schedulers may improve certain aspects of HDD performance, designers often overlook improving HDD performance by modifying other OS components.
In attempting to reduce data loss resulting from HHD faults, designers have developed systems for detecting defects in HDD media. Many of these systems are contained within logic that makes-up a HDD. Typically, HDD defect management systems prevent data loss by searching disk for defects. After finding defects, these systems typically move data from defective areas to “healthy” areas. Sometimes, despite efforts by the defect management systems, HDDs lose data.
Therefore, there is a need for a system that reduces both HDD latencies and HDD data loss.